<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>NetMonitor Manual: 中间件设计架构</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- 制作者 Doxygen 1.5.7.1 -->
<div class="contents">
<h1><a class="anchor" name="arch">中间件设计架构 </a></h1>系统架构图<p>
<div align="center">
<img src="arch.jpg" alt="arch.jpg">
</div>
 <h2><a class="anchor" name="opensource_section">
开源库</a></h2>
<ul>
<li>
<b>winpcap</b>主要用于侦听网络底层数据包 </li>
<li>
<b>SQLite3</b>用于本地数据的存储 </li>
<li>
<b>net-snmp</b>封装了v1-v3的snmp协议 </li>
<li>
<b>log4cplus</b>用于生成调试log </li>
</ul>
<h2><a class="anchor" name="rule_module_section">
规则模块</a></h2>
定义数据过滤的规则，如果规则匹配上了，则会采用相应的协议(SSH/Telnet)向设备发送封锁指令， 并向任务列表中添加一条对应的解锁指令。每条指令都有一个超时时间，到超时时间后，任务模块 会再向设备发送一条解锁指令。<p>
规则语法定义如下： <div class="fragment"><pre class="fragment">&lt;ruleprops&gt;
        &lt;syntax&gt;tcp.port.src=80 end&lt;/syntax&gt;
        &lt;desc&gt;Filter QQ Application&lt;/desc&gt;
        &lt;enabled&gt;<span class="keyword">true</span>&lt;/enabled&gt;
        &lt;timeout&gt;100&lt;/timeout&gt;
        &lt;command&gt;
                &lt;lock&gt;access-list 102 deny tcp any any range 6881 6890&lt;/lock&gt;
                &lt;unlock&gt;access-list 102 permit ip&lt;/unlock&gt;
        &lt;/command&gt;
&lt;/ruleprops&gt;
</pre></div><h2><a class="anchor" name="stats_module_section">
统计模块</a></h2>
系统会根据此处设置的统计规则对数据流量进行统计。统计规则也同样采用规则语法。有关语法的部分详见语法手册。 <div class="fragment"><pre class="fragment">tcp.port.src=80 end
</pre></div><h2><a class="anchor" name="task_module_section">
任务模块</a></h2>
任务模块是一个定时系统，每个加入任务列表项都将成为被监控对象。当时间事件触发后，会发送一条预设指令，并产生log事件。 <div class="fragment"><pre class="fragment">&lt;taskprops&gt;
        &lt;specified&gt;6&lt;/specified&gt;
        &lt;interval&gt;5&lt;/interval&gt;
        &lt;frequency&gt;5&lt;/frequency&gt;
        &lt;command&gt;access-list 102 permit ip&lt;/command&gt;
        &lt;desc&gt;Trigger per 1000ms&lt;/desc&gt;
&lt;/taskprops&gt;
</pre></div><h2><a class="anchor" name="protocol_module_section">
协议模块</a></h2>
本系统支持3种协议，分别如下： <ol>
<li>
SSH协议 </li>
<li>
Telnet协议 </li>
<li>
SNMP协议 </li>
</ol>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated at Tue Feb 24 16:15:29 2009 for NetMonitor Manual by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address>
</body>
</html>
